package com.ssy.lingxi.order.model.vo.platform.request;

import com.ssy.lingxi.order.handler.annotation.MemberPaymentParameterCodeAnnotation;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * 平台后台 - 新增或修改商户支付参数配置接口参数
 * @author 万宁
 * @version 2.0.0
 * @date 2021-11-25
 */
public class MemberPaymentVO implements Serializable {
    private static final long serialVersionUID = -6093794796244630431L;

    /**
     * 会员Id
     */
    @NotNull(message = "会员Id要大于0")
    @Positive(message = "会员Id要大于0")
    private Long memberId;

    /**
     * 会员角色Id
     */
    @NotNull(message = "会员角色Id要大于0")
    @Positive(message = "会员角色Id要大于0")
    private Long roleId;

    /**
     * 参数类型枚举，从参数列表下拉框返回中获得
     */
    @NotNull(message = "参数类型枚举不能为空")
    @MemberPaymentParameterCodeAnnotation
    private Integer code;

    /**
     * 参数值
     */
    @NotBlank(message = "参数值不能为空")
    @Size(max = 200, message = "参数值最长200个字符")
    private String value;

    /**
     * 备注说明
     */
    @Size(max = 200, message = "备注说明最长200个字符")
    private String remark;

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public Long getRoleId() {
        return roleId;
    }

    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
}
